package com.neusoft.yiyang.care.service;

import com.neusoft.yiyang.common.entity.care.CareRecordModifyRequest;
import com.neusoft.yiyang.common.enums.ApprovalStatus;
import org.springframework.web.multipart.MultipartFile;

import java.util.Date;
import java.util.List;

public interface CareRecordModifyRequestService {

    // 提交修改申请
    void submitModifyRequest(
            Integer applicantId,
            Integer originalRecordId,
            Integer careItemId,
            Integer caretakerId,
            Date careTime,
            Integer quantity,
            String feedback,
            String status,
            MultipartFile file
    );

    // 审批修改申请（通过/拒绝）
    void approveModifyRequest(Integer requestId, ApprovalStatus status, Integer approverId, String approvalRemark);

    // 查看全部修改申请
    List<CareRecordModifyRequest> getAllRequests(
            Integer originalRecordId,
            String approvalStatus
    );

    // 更新修改申请（重新提交）
    void updateModifyRequest(
            Integer requestId,
            Integer applicantId,
            Integer originalRecordId,
            Integer careItemId,
            Integer caretakerId,
            Date careTime,
            Integer quantity,
            String feedback,
            String status,
            MultipartFile file
    );

    // 根据原记录ID查询是否有未审批的申请
    boolean hasPendingRequest(Integer originalRecordId);
}